package com.zhijian.medical.entity.po;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.validation.constraints.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 人才培养
 * @author Auto Generator
 * @date 2024-05-09 19:27:18
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "人才培养")
public class PersonnelTraining {
    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    @NotNull(message = "用户id不能为空")
    private Long userId;

    /**
     * 培养人姓名
     */
    @ApiModelProperty("培养人姓名")
    @NotBlank(message = "培养人姓名不能为空")
    private String name;

    /**
     * 人才类型，1：出站博士后，2：毕业博士，3：毕业硕士，4：在站博士后，5：在读博士，6：在读硕士
     */
    @ApiModelProperty("人才类型，1：出站博士后，2：毕业博士，3：毕业硕士，4：在站博士后，5：在读博士，6：在读硕士")
    @NotNull(message = "人才类型，1：出站博士后，2：毕业博士，3：毕业硕士，4：在站博士后，5：在读博士，6：在读硕士不能为空")
    private Byte type;

    /**
     * 研究报告题目
     */
    @ApiModelProperty("研究报告题目")
    private String researchReportName;

    /**
     * 合作教授
     */
    @ApiModelProperty("合作教授")
    private String coProfessor;

    /**
     * 研究工作开始时间
     */
    @ApiModelProperty("研究工作开始时间")
    private String researchStartDate;

    /**
     * 研究工作结束时间
     */
    @ApiModelProperty("研究工作结束时间")
    private String researchEndDate;

    /**
     * 奖励发放人
     */
    @ApiModelProperty("奖励发放人")
    private String rewardIssuer;

    /**
     * 奖励发放时间
     */
    @ApiModelProperty("奖励发放时间")
    private String rewardDate;

    /**
     * 成果附件
     */
    @ApiModelProperty("成果附件")
    private String achievementFilePath;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private Date updateTime;
}